
import { CSSProperties, DOMAttributes } from "react";
import { PreviewGroupPreview, GroupConsumerProps } from "rc-image/lib/PreviewGroup";
import { ImageElementProps } from "rc-image/lib/interface";
import { MenuProps } from "antd";
/**image组件的props */
export interface ImageProps {
    /**图片路径 */
    src: string | undefined;
    /**是否需要预览，默认false不可以预览 */
    preview?: boolean;
    /**宽度，数字，没有传递宽度，就用父级别宽度，没有父级就200 */
    width?: number;
    /**高度，数字。不传递时，图片自适应高度。  */
    height?: number;
    /**图片预估高度 （用于加载占位符） */
    predictHeight?: number
    /**加载时、加载失败时，占位图的背景色 */
    bgColor?: string;
    /**是否需要懒加载，默认开启  */
    lazy?: boolean

    /**给本组件第二层的行内样式（也就是给antd组件的外层行内样式 ）*/
    rootStyle?: CSSProperties;
    /**给本组件第二层的样式 （也就是给antd组件的rootClassname。）*/
    rootClassName?: string;

    /**给本组件最外层的行内样式*/
    outStyle?: CSSProperties;
    /**给本组件最外层的className*/
    outClassName?: string;

    /**图片被右键点击时，展示的菜单栏。不传递或者长度为0，则不会禁用原本的右键菜单 */
    contextMenu?: MenuProps["items"]

    /**图片的点击事件 */
    onClick?: DOMAttributes<HTMLDivElement>["onClick"];
}
/**image预览组件的props */
export interface ImageGroupProps extends GroupConsumerProps {
    /**预览参数，与Antd文档的相同，详见 https://ant-design.antgroup.com/components/image-cn#previewgrouptype */
    preview?: boolean | PreviewGroupPreview;
    /**预览数组， 见https://ant-design.antgroup.com/components/image-cn#previewgroup */
    items?: (string | ImageElementProps)[];
    /**加载失败的代替路径 */
    fallback?: string;
}